查看原文
其他

SPSS超详细操作:分层回归(hierarchical multiple regression)

2017-09-12 李侗桐 医咖会

1、问题与数据

最大携氧能力(maximal aerobic capacity, VO2max)是评价人体健康的关键指标,但因测量方法复杂,不易实现。某研究者拟通过一些方便、易得的指标建立受试者最大携氧能力的预测模型。


目前,该研究者已知受试者的年龄和性别与最大携氧能力有关,但这种关联强度并不足以进行回归模型的预测。因此,该研究者拟逐个增加体重(第3个变量)和心率(第4个变量)两个变量,并判断是否可以增强模型的预测能力


本研究中,研究者共招募100位受试者,分别测量他们的最大携氧能力(VO2max),并收集年龄(age)、性别(gender)、体重(weight)和心率(heart_rate)变量信息,部分数据如下:

 

注:心率(heart_rate)测量的是受试者进行20分钟低强度步行后的心率。

2、对问题的分析

研究者拟判断逐个增加自变量(weight和heart_rate)后对因变量(VO2max)预测模型的改变。针对这种情况,我们可以使用分层回归分析(hierarchical multiple regression),但需要先满足以下8项假设:


  • 假设1:因变量是连续变量

  • 假设2:自变量不少于2个(连续变量或分类变量都可以)

  • 假设3:具有相互独立的观测值

  • 假设4:自变量和因变量之间存在线性关系

  • 假设5:等方差性

  • 假设6:不存在多重共线性

  • 假设7:不存在显著的异常值

  • 假设8:残差近似正态分布


那么,进行分层回归分析时,如何考虑和处理这8项假设呢?

3、对假设的判断

3.1 假设1-2


假设1和假设2分别要求因变量是连续变量、自变量不少于2个。这与研究设计有关,需根据实际情况判断。


3.2 假设3-8


为了检验假设3-8,我们需要在SPSS中运行分层回归,并对结果进行一一分析。


(1) 点击Analyze→Regression→Linear



出现下图:



(2) 将因变量(VO2max)放入Dependent栏,再将自变量(age和gender)放入Independent栏:


解释:因研究者已知性别、年龄与最大携氧能力的关系,我们先把这两个变量放入模型。


(3) 点击Next,弹出下图:



解释:大家可能会注意到Independent(s)框中的标签由-Block 1 of 1- 变为-Block 2 of 2-。这说明age和gender变量依旧存在于模型中,在- Block 2 of 2-中,大家可以点击Previous查看。同时,Method栏应设置为“Enter”,一般是SPSS自动设置的;如果不是,也应人工设置为“Enter”。


(4) 将自变量(weight)放入Independent栏


解释:放入weight变量是为了检验加入该变量后对age、gender-VO2max预测模型的影响。


(5) 点击Next,弹出下图:



解释:大家可能会注意到Independent(s)框中的标签由-Block 2 of 2- 变为-Block 3 of 3-。同样地,age、gender和weight变量依旧存在于模型中,可以点击Previous查看。Method栏也应设置为“Enter”,如果不是,改为“Enter”。


(6) 将自变量(heart_rate)放入Independent栏


解释:放入heart_rate变量是为了检验加入该变量后对age、gender、weight-VO2max预测模型的影响。


(7) 点击Statistics,弹出下图:



(8) 在Regression Coefficient框内点选Confidence intervals,在Residuals框内点选Durbin-Watson和Casewise diagnosis,并在主对话框内点选R squared change、Descriptives、Part and partial correlations和Collinearity diagnosis



(9) 点击Continue,回到主界面。


(10) 点击Plots,弹出下图:



(11)在Standardized Residual Plots对话框中点选Histogram和Normal probability,并点选Produce all partial plots



(12) 点击Continue回到主对话框


(13) 点击Save



(14) 在Predicted Values框内点选Unstandardized,在Distances框内点选Cook’s和Leverage values,在Residuals框内点选Studentized和Studentized deleted



(15) 点击Continue→OK


经过这些操作,Variable View 和Data View对话框中会增加5个变量:




这5个变量分别是未标化预测值(unstandardized predicted values,PRE_1),学生化残差(studentized residuals,SRE_1),学生化删除残差(studentized deleted residuals,SDR_1),Cook距离(Cook's Distance values,COO_1)以及杠杆值(leverage values,LEV_1)。


根据这5个新增变量和其他结果,我们将逐一对假设3-8进行检验。


注意:分层回归对假设3-8的检验过程与多重线性回归基本一致,为避免重复讲解,我们在本章节只介绍基本原理,详细内容请参见多重线性回归分析


3.2.1  假设3:具有相互独立的观测值


观测值之间相互独立是分层回归的基本假设之一,主要检验的是1st-order autocorrelation,即邻近的观测值(主要是残差)之间没有相关性。我们根据SPSS中的Durbin-Watson检验判断该假设,如果不满足,则需要运用其他模型,如时间序列模型等。


3.2.2 假设4:自变量和因变量之间存在线性关系


分层回归不仅要求因变量与所有自变量存在线性关系,还要求因变量与每一个自变量之间存在线性关系。其中,我们主要通过绘制未标化预测值(PRE_1)和学生化残差(SRE_1)的散点图检验因变量与所有自变量之间的线性关系。


而为检验因变量与每一个自变量之间是否存在线性关系,我们则需要分别绘制每个自变量与因变量的散点图。如果假设4不满足,我们可以尝试进行数据转换或者其他统计方法。


3.2.3 假设5:等方差性


等方差性也可以通过学生化残差(SRE_1)与未标化预测值(PRE_1)之间的散点图进行检验。如果研究结果提示不满足等方差性假设,我们也可以通过一些统计手段进行矫正,如对自变量进行转换或采用加权最小二乘法回归方程等。


3.2.4 假设6:不存在多重共线性


当回归中存在2个或多个自变量高度相关时,就会出现多重共线。它不仅可影响自变量对因变量变异的解释能力,还影响整个分层回归模型的拟合。


为了检验假设6,我们主要关注相关系数(correlation coefficients)和容忍度/方差膨胀因子(Tolerance/VIF)两类指标。一般来说,如果自变量之间的相关系数大于0.7,或者容忍度小于0.1,方差膨胀因子大于10,我们就会怀疑模型存在多重共线性。


3.2.5 假设7:不存在显著的异常值


根据作用方式的不同,分层回归的异常值主要分为离群值(outliers)、强杠杆点(leverage points)和强影响点(influential points)3类。异常的观测值可以符合其中一类或几类。但无论是哪一类都对分层回归的预测能力有着严重的负面影响。好在我们可以通过SPSS检测这些异常值。


其中,(1) 离群值是指实际值与预测值相差较大的数据,可以用Casewise Diagnostics检验和学生化删除残差(SDR_1)两种方法进行检验。(2) 我们通过数据的杠杆值(LEV_1)检测强杠杆点。(3) 而强影响点主要通过Cook距离(COO_1)进行检测。如果存在这些异常值,我们可以根据实际情况判断是否需要剔除或调整。


3.2.6 假设8:残差近似正态分布


在分层回归中,我们可以使用两种方法判断回归残差是否近似正态分布:(1) 带正态曲线的柱状图或P-P图;(2) 根据学生化残差绘制的正态Q-Q图。详细内容参见多重线性回归分析

4、结果解释

分层回归可以得到3个主要结果:

  1. 新增自变量解释因变量变异的比例

  2. 根据自变量预测因变量

  3. 自变量改变一个单位,因变量的变化情况


为了更好地解释和报告分层回归的结果,我们需要统计以下3个方面:

  1. 各模型的比较

  2. 模型的拟合程度

  3. 回归系数


4.1 各模型的比较


比较不同模型是进行分层回归的主要目的。SPSS输出变量纳入结果,如下:



从Model栏可以看出,本研究共有3个模型:Model 1、Model 2和Model 3。Variables Entered栏显示该研究中每个模型较前一个模型增加的变量。


Model 1是第一个模型,没有前序变量,因此该模型的自变量只有gender和age。Model 2比前一个模型(Model 1)增加了weight变量;Model 3比Model 2增加了heart_rate变量。这3个模型的纳入变量与之前的SPSS操作一致,如下:



必须注意的是,Model 2和Model 3中纳入的变量都是在上一个模型基础上的。比如,Model 3是在Model 2的基础上纳入heart_rate变量,即共纳入age、gender、weight和heart_rate四个变量,而不是heart_rate一个变量,具体解释如下:



4.2 判断分层回归模型的拟合程度


判断分层回归模型拟合程度的指标有很多,我们主要向大家介绍变异的解释程度、R2值在各模型间的变化和模型的统计学意义3个指标。


4.2.1变异的解释程度


分层回归中的每个模型都相当于一个强制纳入变量(Enter method)的多重线性回归模型,具体评价指标也相似:


Measures of model ‘fit’ for the three models: 分别评价本研究中3个模型的拟合程度


R2是多层回归的重要指标,反映自变量解释因变量变异的程度。从上表可以看出,随着自变量数量的增加,模型1-3的R2逐渐增加,分别是0.188、0.427和0.710,提示各模型对因变量的预测能力逐渐加强


但是分层模型主要是检验增加自变量是否具有统计学意义,如模型2增加了weight变量后R2的变化是否具有统计学意义呢?我们将在4.2.2节为详细大家介绍。


4.2.2 R2值在各模型间的变化


为了判断新增变量对回归的影响,我们需要关注下表的右半部分:


Assessing model change:对比模型变化


R Square Change栏显示的是该模型与上一个模型R2的差值,Sig. F Change栏显示的是该差值的统计检验的P值。以Model 1为例,如下:


Initial Model(Model 1):模型1


模型1是初始模型,在空模型的基础上增加了age和gender两个变量。该模型的R2差值(R Square Change栏)和R2值(R Square栏)相同,均为0.188。R2差值具有统计学意义,P<0.001(Sig. F Change栏)。


模型2在模型1的基础上增加了weight变量,R2值的变化情况如下:


Change between Model 1 and Model 2: 对比模型1和模型2


模型2的R2差值为0.239,即模型2的R2值(0.427)与模型1的R2值(0.188)的差。Sig. F Change栏提示,P<0.001,即模型2的R2差值具有统计学意义。


在本研究中,模型2与模型1的差别仅在于weight变量,提示在回归中纳入weight变量后自变量对因变量变异的解释能力增加23.9%(P<0.001),即纳入体重变量对受试者最大携氧能力的预测改善有统计学意义


解释:如果我们在模型2中增加了不止一个变量,那么R2值的改变就是所有新增变量共同作用的结果,而不是某一个变量的。


模型3在模型2的基础上增加了heart_rate变量,R2值的变化情况如下:


Change between Model 2 and Model 3:对比模型2和模型3


模型3的R2差值为0.283,即模型3的R2值(0.710)与模型2的R2值(0.427)的差。Sig. F Change栏提示,P<0.001,即模型3的R2差值具有统计学意义。提示在回归中纳入heart_rate变量后自变量对因变量变异的解释能力增加28.3%(P<0.001),即纳入心率变量对受试者最大携氧能力的预测改善有统计学意义


4.2.3 模型的统计学意义


分层回归的每一个模型都相当于一个多重线性回归模型。SPSS输出ANOVA表格中包括对每一个模型的评价,如下:



一般来说,我们习惯性只汇报最终模型的结果(本研究的模型3),如下:



模型3是全模型,纳入gender、age、weight和heart_rate四个变量。结果示,该模型具有统计学意义,F(4,95)=58.078,P<0.001,提示因变量和自变量之间存在线性相关,说明相较于空模型,纳入这四个自变量有助于预测因变量。


注释:如果SPSS输出的结果中“Sig”值为“.000”,代表的是P<0.001,而不是P=0.000。同时,如果P>0.05,我们最好在报告中写清楚具体数值,如P=0.092,从而为读者提供更多的信息。


4.3 回归系数


正如前文所述,分层回归模型主要关注的是最终模型,即本研究中的模型3,在对回归系数进行解释时也是如此。


Full model (Model 3):模型3


我们可以按照多重线性回归的分析方法对分层回归系数进行解释。连续变量(如age变量)的回归系数表示自变量每改变一个单位,因变量的变化情况。分类变量(如gender变量)的回归系数表示不同类别之间的差异,详细内容参见多重线性回归


值得注意的是,我们运行分层回归的主要目的是分析是否有必要增加新的自变量,而不是进行预测,回归系数不是我们主要关注的结果。但是如果在汇报时需要提供回归系数,我们也可以把这部分增加在报告中。

5、撰写结论

5.1 简洁汇报


本研究采用分层回归,分析逐步增加体重和心率变量是否可以提高性别、年龄对最大携氧能力的预测水平。最终模型(模型3)纳入性别、年龄、体重和心率4个变量,具有统计学意义R2=0.710,F(4, 95) = 58.078 (P<0.001),调整R2=0.698。


仅增加体重变量(模型2)后,R2值增加0.239,F(1, 96) = 40.059(P<0.001),具有统计学意义。增加心率变量(模型3)后,R2值增加0.283,F(1, 96) = 92.466(P<0.001),具有统计学意义,具体结果见表1。


表1. 分层回归结果


5.2 具体汇报


本研究采用分层回归,分析逐步增加体重和心率变量是否可以提高性别、年龄对最大携氧能力的预测水平。通过绘制部分回归散点图和学生化残差与预测值的散点图,判断自变量和因变量之间存在线性关系。


已验证研究观测值之间相互独立(Durbin-Watson检验值为1.910);并通过绘制学生化残差与未标化的预测值之间的散点图,证实数据具有等方差性。


回归容忍度均大于0.1,不存在多重共线性。异常值检验中,不存在学生化删除残差大于3倍标准差的观测值,数据杠杆值均小于0.2,也没有Cook距离大于1的数值。Q-Q图提示,研究数据满足正态假设。


最终模型(模型3)纳入性别、年龄、体重和心率4个变量,具有统计学意义R2=0.710,F(4, 95) = 58.078 (P<0.001),调整R= 0.698。仅增加体重变量(模型2)后,R2值增加0.239,F(1, 96) = 40.059 (P<0.001),具有统计学意义。增加心率变量(模型3)后,R2值增加0.283,F(1, 96) = 92.466 (P<0.001),具有统计学意义,具体结果见表1。


表1. 分层回归结果


解释:我们为了尽可能地向大家展示分层回归结果,在表1里纳入了所有可能需要汇报的指标。但在实际工作中,大家可能并不需要汇报这么多,应视情况而定。


(如果你想使用文中数据进行练习,请随时给小咖(微信:xys2016ykf)发消息,小咖将原始数据发给你。)


更多阅读

1. 超详细SPSS操作:多重线性回归(完整版)

2. SPSS实例教程:自变量多重共线性怎么办?

3. 【合集】23种统计方法的SPSS详细操作

医咖会微信:medieco-ykh

关注医咖会,轻松学习统计学~


有临床研究设计或统计学方面的难题?快加小咖个人微信(xys2016ykf),拉你进统计讨论群和众多热爱研究的小伙伴们一起交流学习。如果想进群,添加小咖时请注明“加群”二字。


点击左下角“阅读原文”,看看医咖会既往推送了哪些统计教程

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存